package Treemap;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;
import java.util.function.Consumer;

public class test3 {
    public static void main(String[] args) {
        /* 需求：
        字符串“aababcabcdabcde”
        请统计字符串中每一个字符出现的次数，并按照以下格式输出
        输出结果：
        a（5）b（4）c（3）d（2）e（1）
            新的统计思想：利用map集合进行统计
          如果题目中没有要求对结果进行排序，默认使用HashMap
          如果题目中要求对结果进行排序，请使用TreeMap
          键：表示要统计的内容
          值：表示次数
        */
        String str="aababcabcdabcde";
        HashMap<Character,Integer> hm=new HashMap<>();
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            //拿着c到集合中判断是否存在
            //存在，表示当前字符又出现了一次
            //不存在，表示当前字符是第一次出现
            if(hm.containsKey(c)){
                //存在
                //先把已经出现的次数拿出来
                int count = hm.get(c);
                //当前字符又出现了一次
                count++;
                //把自增之后的结果再添加到集合当中
                hm.put(c,count);
            }
            else {
                hm.put(c,1);
            }
        }
        hm.forEach(( character,  integer)-> System.out.print(character+"("+integer+")"));
    }
}
